home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48hor1
/
diffeq.doc
< prev
next >
Wrap
Text File
|
1995-03-31
|
3KB
|
142 lines
(Comp.sys.handhelds)
Item: 890 by gt3398b at prism.gatech.EDU
Author: [DELANO,ANDREW DOUGLAS]
Subj: DIFFERENTIAL EQUATIONS ON THE HP48SX
Date: Fri Oct 12 1990 07:53
Here are some programs I wrote to do Euler's method, Improved Euler's method,
Taylor series method, and Runge Kutta method for solving differential equations
on the 48. They were very useful in this quarters diffeqs class. I hope
somebody else out there finds them helpful. I didn't know of any other progams
like these existing so I wrote them myself. If anybody else has any
improvements, suggestions, or questions, please email me. Also if I would be
interested to know how many of you like them so if you do use them, please let
me know. Maybe somebody can put these on an ftp site for those who miss this.
Anyway, here are some genral instructions and the programs.
1. Download this directory into your hp48sx. [It's called DIFFEQ on disk. jkh]
2. There are 6 programs: EULR1,EULR2,TAYLr,R.K.,ENTR,PLT. You can use EULR1,
EULR2, TAYLr, and R.K. to solve equations. ENTR and PLT are utilities.
3. Just press the method you wish and follow instructions.
GOOD LUCK
Andy Delano
Here is the directory:
_________________________________________________________________________
%%HP: T(3)A(D)F(.);
DIR
EULR1
\<< ENTR
DO DE EVAL h
* Y + DUP 'Y' STO X
h + 'X' STO X SWAP
{ 1 2 } \->ARRY \GS+
UNTIL X S ==
END { X Y DE
h S IV XS } PURGE
PLT
\>>
EULR2
\<< ENTR
DO DE EVAL
DUP h * Y + Y SWAP
'Y' STO X h + 'X'
STO DE EVAL SWAP
'Y' STO X h - 'X'
STO + h 2 / * Y +
DUP 'Y' STO X h +
'X' STO X SWAP { 1
2 } \->ARRY \GS+
UNTIL X S ==
END { X Y DE
h S IV XS } PURGE
PLT
\>>
TAYLr
\<< ENTR
DO DE 'X' \.d
DE 'Y' \.d DE EVAL *
+ h 2 ^ 2 / * DE
EVAL h * + Y + DUP
'Y' STO X h + 'X'
STO X SWAP { 1 2 }
\->ARRY \GS+
UNTIL X S ==
END { X Y DE
h S IV XS } PURGE
PLT
\>>
R.K.
\<< ENTR
DO DE EVAL
'K1' STO h .5 * X +
'X' STO Y DUP .5 h
* K1 * + 'Y' STO DE
EVAL 'K2' STO DUP
.5 h * K2 * + 'Y'
STO DE EVAL 'K3'
STO .5 h * X + 'X'
STO DUP h K3 * +
'Y' STO DE EVAL
'K4' STO 'Y' STO X
h - 'X' STO K1 2 K2
* 2 K3 * K4 + + + h
6 / * Y + 'Y' STO X
h + 'X' STO X Y { 1
2 } \->ARRY \GS+
UNTIL X S ==
END { K4 K3
K2 K1 X Y DE h XS S
IV } PURGE PLT
\>>
ENTR
\<<
"Enter Equation
y'=:"
"''" INPUT
"Enter Step Size (h):"
"" INPUT
"Enter X Startpoint:"
"" INPUT
"Enter X Endpoint:"
"" INPUT
"Enter Intial
Value(X,Y):"
"()" INPUT OBJ\->
'IV' STO OBJ\-> 'S'
STO OBJ\-> 'XS' STO
OBJ\-> 'h' STO OBJ\->
'DE' STO IV V\-> 'Y'
STO 'X' STO '\GSDAT'
PURGE X Y { 1 2 }
\->ARRY \GS+ XS 'X' STO
CLLCD
" Please Wait..."
2 DISP 0 FREEZE
\>>
PLT
\<<
"Would you like
to plot the results?
(Y/N)"
"" INPUT 'a' STO
IF a "Y" ==
THEN ERASE
SCATRPLOT GRAPH
ELSE
END \GSDAT {
\GSPAR PPAR a } PURGE
\>>
END
--
DELANO,ANDREW DOUGLAS
Georgia Institute of Technology, Atlanta Georgia, 30332
uucp: ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!gt3398b
Internet: gt3398b@prism.gatech.edu